package com.sumi.erp.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.sumi.common.annotation.Excel;
import com.sumi.common.core.domain.BaseEntity;

/**
 * 产品基本信息对象 base_product
 * 
 * @author fgf67@163.com
 * @date 2024-06-20
 */
public class BaseProduct extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 产品id */
    private Long id;

    /** 产品厂商 */
    @Excel(name = "产品厂商")
    private String brandId;

    /** 产品分类 */
    @Excel(name = "产品分类")
    private String categoryId;

    @Excel(name = "品牌")
    private String brandName;

    @Excel(name = "分类")
    private String categoryName;

    /** 产品全称 */
    @Excel(name = "产品全称")
    private String originalName;

    /** 产品名称 */
    @Excel(name = "产品名称")
    private String productName;

    /** 产品编号（牌号） */
    @Excel(name = "产品编号", readConverterExp = "牌=号")
    private String productCode;

    /** 单位 */
    @Excel(name = "单位")
    private String uom;

    /** 是否可用（1启用，0停用） */
    @Excel(name = "是否可用", readConverterExp = "1=启用，0停用")
    private Integer isAvailable;

    /** 创建人id */
    @Excel(name = "创建人id")
    private Long createUid;

    /** 删除时间(软删除) */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "删除时间(软删除)", width = 30, dateFormat = "yyyy-MM-dd")
    private Date deleteTime;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setBrandId(String brandId) 
    {
        this.brandId = brandId;
    }

    public String getBrandId() 
    {
        return brandId;
    }
    public void setCategoryId(String categoryId) 
    {
        this.categoryId = categoryId;
    }

    public String getCategoryId() 
    {
        return categoryId;
    }
    public void setOriginalName(String originalName) 
    {
        this.originalName = originalName;
    }

    public String getOriginalName() 
    {
        return originalName;
    }

    public void setBrandName(String brandName)
    {
        this.brandName = brandName;
    }
    public String getBrandName()
    {
        return brandName;
    }

    public void setCategoryName(String categoryName)
    {
        this.categoryName = categoryName;
    }
    public String getCategoryName()
    {
        return categoryName;
    }

    public void setProductName(String productName) 
    {
        this.productName = productName;
    }

    public String getProductName() 
    {
        return productName;
    }
    public void setProductCode(String productCode) 
    {
        this.productCode = productCode;
    }

    public String getProductCode() 
    {
        return productCode;
    }
    public void setUom(String uom) 
    {
        this.uom = uom;
    }

    public String getUom() 
    {
        return uom;
    }
    public void setIsAvailable(Integer isAvailable) 
    {
        this.isAvailable = isAvailable;
    }

    public Integer getIsAvailable() 
    {
        return isAvailable;
    }
    public void setCreateUid(Long createUid) 
    {
        this.createUid = createUid;
    }

    public Long getCreateUid() 
    {
        return createUid;
    }
    public void setDeleteTime(Date deleteTime) 
    {
        this.deleteTime = deleteTime;
    }

    public Date getDeleteTime() 
    {
        return deleteTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("brandId", getBrandId())
            .append("categoryId", getCategoryId())
            .append("brandName", getBrandName())
            .append("categoryName", getCategoryName())
            .append("originalName", getOriginalName())
            .append("productName", getProductName())
            .append("productCode", getProductCode())
            .append("uom", getUom())
            .append("remark", getRemark())
            .append("isAvailable", getIsAvailable())
            .append("createTime", getCreateTime())
            .append("createUid", getCreateUid())
            .append("deleteTime", getDeleteTime())
            .toString();
    }
}
